local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local Map = ____lualib.Map
local __TS__New = ____lualib.__TS__New
local __TS__SourceMapTraceBack = ____lualib.__TS__SourceMapTraceBack
__TS__SourceMapTraceBack(debug.getinfo(1).short_src, {["8"] = 1,["9"] = 1,["10"] = 1,["12"] = 2,["13"] = 1,["14"] = 4,["15"] = 5,["16"] = 4,["17"] = 13,["18"] = 14,["19"] = 15,["21"] = 17,["22"] = 18,["23"] = 19,["24"] = 13,["25"] = 27,["26"] = 28,["27"] = 27,["28"] = 35,["29"] = 36,["30"] = 35,["31"] = 42,["32"] = 43,["33"] = 42});
local ____exports = {}
____exports.default = __TS__Class()
local Cache = ____exports.default
Cache.name = "Cache"
function Cache.prototype.____constructor(self)
    self.data = __TS__New(Map)
end
function Cache.prototype.has(self, key)
    return self.data:has(key)
end
function Cache.prototype.get(self, key, defaultValue)
    if self.data:has(key) then
        return self.data:get(key)
    end
    local value = defaultValue(nil)
    self.data:set(key, value)
    return value
end
function Cache.prototype.set(self, key, value)
    self.data:set(key, value)
end
function Cache.prototype.delete(self, key)
    self.data:delete(key)
end
function Cache.prototype.clear(self)
    self.data:clear()
end
return ____exports
